//前提：启动mongod服务
// 1. 安装mongoose
// 2. 导入mongoose
const mongoose = require('mongoose');
// 3. 连接数据库
// url:协议://ip地址:端口号/数据库名称
mongoose.connect('mongodb://127.0.0.1/0907');
// 4. 创建连接回调 connection.on("open",callback)
mongoose.connection.on("open", () => {
    console.log("数据库连接成功");
    // 5. 创建文档结构 new mongoose.Schema()
    // users - 
    /**[
         * {
         *  name:"laowang",
         *  age:18,
         *  score:80
         * },
         * {
         *  name:"laowang",
         *  age:18,
         *  score:80
         * }
     * ]
     */
    let userSchema = new mongoose.Schema({
        name: String,
        age: Number,
        score: Number
    })
    // 6. 创建模型对象 mongoose.model()
    // 参数1：自定义集合名称
    // 参数2：设置集合文档结构
    let userModel = mongoose.model('users', userSchema);
    // 7. 插入文档 model.create({},callback)
    // 参数1：插入数据本身
    // 参数2： 回调函数 - 
        // 参数1：err  错误信息
        // 参数2：data  返回的数据
    userModel.create({name:"宋江",age: 58,score: 100,sex:'nan'},(err, data) => {
        // err 错误信息 - 只有在插入失败的时候才会有
        // data 数据 - 插入成功之后返回的数据
        if (err) {
            console.log('插入失败');
        } else {
            console.log(data);
        }
        // 8. 关闭链接【选做】 - 必须将关闭数据库连接放入回调函数内
        mongoose.connection.close()
    })
   
})

// 9. 创建失败回调 connection.on("error",callback)
mongoose.connection.on('error', () => {
    console.log("数据库连接失败");
})